The present invention relates to a technology of selecting an optimal data transfer path among a plurality of communication paths connecting information processing apparatuses one another.
It is known in conventional technology to provide management software improving data transfer efficiency between one or more storage devices and one ore more clients. This management software has a function of selecting one of LAN (a local area network) and SAN (a storage area network) as a data transfer path in response to a size of data transferred between one or more storage devices and one or more clients. Upon receiving NFS/CIFS (a network file system/common internet file system) file request from the host via LAN, the management software returns metadata indicating a data position in the storage to the host. Thus, the host directly makes a request for the data to the storage via the SAN. Meanwhile, when a size of the transfer data is small, and there is no merit in transferring the data via the SAN, the management software selects the LAN as a data transfer path.
However, in the conventional technology described above, the optimal data transfer path cannot be always selected among the plurality of communication paths connecting the storage and the host. For example, under the condition where a network such as the Internet dynamically changing characteristics thereof (e.g., traffic and communication rate) exists between the host and the storage, when a user requests selection of the optimal data transfer path from a viewpoint of improving the data transfer efficiency, such a request cannot be always satisfied even if a data transfer path is selected based on only the size of the transfer data.
Accordingly, an object of the present invention is to provide an information processing apparatus capable of selecting the optimal communication path among the plurality of communication paths even if the plurality of communication paths existing among information processing apparatuses change the characteristic thereof.
The present invention is directed an information processing apparatus providing, to a host, a common storage accessible by the host. The apparatus includes an interface connecting portion having a plurality of communication paths connected to the host; an I/O processor for executing I/O processing of the common storage in response to an I/O request of the host; and a storage for storing, as log information for each data transfer executed between the host and the interface connecting portion, corresponding information among an identifier of a communication path used for the data transfer, a communication condition used for the data transfer and performance information indicating I/O processing performance of the host. The I/O processing performance is measured during the data transfer. The apparatus also includes a communication path selecting portion for comparing a communication condition used for transferring objective data of the I/O request and a communication condition of the log information when the objective data of the I/O request is transferred between the host and the interface connecting portion, and for selecting a communication path identified by an identifier as a communication path use for transferring the objective data of the I/O request among the plurality of communication paths, the identifier being included in a communication log selected based on the performance information of one or more communication logs among the one or more communication logs determined based on a result of the comparison.